Actively adapted knowledge base, content calibration, and content recognition

ABSTRACT

Systems for automatic document generation automatic content recognition may comprise a storage medium and a processor coupled to the storage medium. The processor may generate and/or process a document template and receive client data. In some embodiments, the processor may automatically determine whether the client data is compliant with at least one content control standard based on a comparison between the client data and at least one text variant and, if so, may automatically generate a processed document using the client data and the document template. In some embodiments, the processor may establish at least one normative form for the document template, automatically compare the client data with the normative form content, automatically recognize that the client data corresponds to the document template based on the comparing, and automatically generate a processed document using the client data and the document template.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.16/907,646, filed Jun. 22, 2020, which is a continuation of U.S. patentapplication Ser. No. 15/707,535 (now U.S. Pat. No. 10,733,366), filedSep. 18, 2017, which are based upon and claim the benefit of priorityfrom U.S. Provisional Patent Application No. 62/396,550, entitled“ACTIVELY ADAPTED KNOWLEDGE BASE WITH A PREDICTIVE RATING,” filed Sep.19, 2016 and U.S. Provisional Patent Application No. 62/396,552,entitled “CONTENT CALIBRATION AND RECOGNITION,” filed Sep. 19, 2016, theentirety of each of which is incorporated by reference herein.

BRIEF DESCRIPTIONS OF THE DRAWINGS

FIG. 1 is a block diagram of an example system architecture according toan embodiment of the invention.

FIG. 2 is a content evaluation and scoring process according to anembodiment of the invention.

FIGS. 3A and 3B are graphical representations of definition termsaccording to an embodiment of the invention.

FIG. 4 is a knowledge base generation process according to an embodimentof the invention.

FIG. 5 is a knowledge acquisition process according to an embodiment ofthe invention.

FIGS. 6 and 7 are example user interface screenshots according to anembodiment of the invention.

FIG. 8 is a document generation process according to an embodiment ofthe invention.

FIGS. 9 and 10 are example user interface screenshots according to anembodiment of the invention.

FIG. 11 is a predictive scoring process according to an embodiment ofthe invention.

FIG. 12 is an example user interface screenshots according to anembodiment of the invention.

FIG. 13 is a content calibration and recognition process according to anembodiment of the invention.

FIGS. 14A-14C show a recognition process according to an embodiment ofthe invention.

FIGS. 15-17 are example user interface screenshots according to anembodiment of the invention.

DETAILED DESCRIPTION OF SEVERAL EMBODIMENTS

Automatic profiling, evaluation, and deterministic outcome of large andcomplex volumes of content may be used by many businesses to operatewithin tolerant and profitable operational efficiencies when identifyinghow the contents impact business operations. In some cases, the contentmay not represent how the knowledge contained within should conform whencompared to an organization's normative forms. In some cases, contentmay have conflicting terms when comparing like content across normativeforms. In some cases, normative forms may be flexible in that differentforms may allow specified information to be placed within specifiedregions differently and/or may require compliance language effective byor on a specific date and time for specific content types. In somecases, normative forms and/or existing content may change, so existingcontent may require adjustment and may be evaluated once again to atemplate's normative form.

Accordingly, systems and methods described herein may create andmaintain active normative forms. Systems and methods described hereinmay evaluate any new content being introduced into an organization byautomatically comparing against templates' normative forms asrepresented in an active knowledge base. The knowledge base, whenupdated, may evaluate existing content for any changes that may beimpacted by what was once acceptable no longer being acceptable. Systemsand methods described herein may provide automatic profiling, evaluationand deterministic outcome of content streams, for example includingevaluating the collective embodiment of one content stream, with somephrases within the content being more restrictive to an organization'sbusiness then other phrases, in order to rate the evaluated content andcompare the evaluated content against all other documents' content. Thisautomation may enable several functions. For example, one function maylimit the intake of non-conforming content into an organization, andanother function may evaluate existing content for conflicts as anorganization changes how they do business as prescribed in the activeknowledge base.

The automatic profiling and evaluation of large and complex volumes ofcontent may be used to provide automatic content calibration andrecognition. For example, systems and methods described herein mayprovide a utility where knowledge workers define templates with contentcontrols that identify textual variance from an organization's normativeforms. Content controls may be specified from normative form templates.Ratio, frequency, and/or density formulas may be utilized to recognizesource content streams based on the content controls. Referencedocuments may be calibrated through testing of contiguous frequency,density, and/or content control ratios to form templates. When a newelectronic document is received, its content may be evaluated amongstall templates for automatic recognition. Upon match, the electronicdocument may be assigned to the matching template ID. If a match is notfound, the electronic document may be submitted to an area for manualevaluation. The recognition process may provide a mechanism that storeselectronic documents in a single location, identifies the electronicdocuments correctly, and identifies matching templates for correctevaluation.

Example System Architecture

As described in detail herein, the systems creating and maintaining theadapted knowledge base and performing automatic content calibration andrecognition may comprise one or more computers. For example, referenceis made herein to one or more servers and/or components thereof thatperform processing related to automatic profiling, evaluation, anddeterministic outcome of large and complex volumes of content. FIG. 1 isa block diagram of an example architecture for a system 100 that mayimplement the features and processes described herein.

The system 100 may be implemented on any electronic device that runssoftware applications derived from compiled instructions, includingwithout limitation personal computers, servers, smart phones, mediaplayers, electronic tablets, game consoles, email devices, etc. In someimplementations, the system 100 may include one or more processors 102,one or more input devices 104, one or more display devices 106, one ormore network interfaces 108, and one or more computer-readable mediums110. Each of these components may be coupled by bus 112.

Display device 106 may be any known display technology, including butnot limited to display devices using Liquid Crystal Display (LCD) orLight Emitting Diode (LED) technology. Processor(s) 102 may use anyknown processor technology, including but not limited to graphicsprocessors and multi-core processors. Input device 104 may be any knowninput device technology, including but not limited to a keyboard(including a virtual keyboard), mouse, track ball, and touch-sensitivepad or display. Bus 112 may be any known internal or external bustechnology, including but not limited to ISA, EISA, PCI, PCI Express,NuBus, USB, Serial ATA or FireWire. Computer-readable medium 110 may beany medium that participates in providing instructions to processor(s)102 for execution, including without limitation, non-volatile storagemedia (e.g., optical disks, magnetic disks, flash drives, etc.), orvolatile media (e.g., SDRAM, ROM, etc.).

Computer-readable medium 110 may include various instructions 114 forimplementing an operating system (e.g., Mac OS®, Windows®, Linux). Theoperating system may be multi-user, multiprocessing, multitasking,multithreading, real-time, and the like. The operating system mayperform basic tasks, including but not limited to: recognizing inputfrom input device 104; sending output to display device 106; keepingtrack of files and directories on computer-readable medium 110;controlling peripheral devices (e.g., disk drives, printers, etc.) whichcan be controlled directly or through an I/O controller; and managingtraffic on bus 112. Network communications instructions 116 mayestablish and maintain network connections (e.g., software forimplementing communication protocols, such as TCP/IP, HTTP, Ethernet,etc.).

Knowledge base and content service instructions 118 can includeinstructions that provide the actively adapted knowledge base and/orcontent calibration and recognition described herein. Application(s) 120may be an application that uses or implements the processes describedherein and/or other processes. The processes may also be implemented inoperating system 114.

The described features may be implemented in one or more computerprograms that may be executable on a programmable system including atleast one programmable processor coupled to receive data andinstructions from, and to transmit data and instructions to, a datastorage system, at least one input device, and at least one outputdevice. A computer program is a set of instructions that can be used,directly or indirectly, in a computer to perform a certain activity orbring about a certain result. A computer program may be written in anyform of programming language (e.g., Objective-C, Java), includingcompiled or interpreted languages, and it may be deployed in any form,including as a stand-alone program or as a module, component,subroutine, or other unit suitable for use in a computing environment.

Suitable processors for the execution of a program of instructions mayinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors orcores, of any kind of computer. Generally, a processor may receiveinstructions and data from a read-only memory or a random-access memoryor both. The essential elements of a computer may include a processorfor executing instructions and one or more memories for storinginstructions and data. Generally, a computer may also include, or beoperatively coupled to communicate with, one or more mass storagedevices for storing data files; such devices include magnetic disks,such as internal hard disks and removable disks; magneto-optical disks;and optical disks. Storage devices suitable for tangibly embodyingcomputer program instructions and data may include all forms ofnon-volatile memory, including by way of example semiconductor memorydevices, such as EPROM, EEPROM, and flash memory devices; magnetic diskssuch as internal hard disks and removable disks; magneto-optical disks;and CD-ROM and DVD-ROM disks. The processor and the memory may besupplemented by, or incorporated in, ASICs (application-specificintegrated circuits).

To provide for interaction with a user, the features may be implementedon a computer having a display device such as a CRT (cathode ray tube)or LCD (liquid crystal display) monitor for displaying information tothe user and a keyboard and a pointing device such as a mouse or atrackball by which the user can provide input to the computer.

The features may be implemented in a computer system that includes aback-end component, such as a data server, or that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer having agraphical user interface or an Internet browser, or any combination ofthem. The components of the system may be connected by any form ormedium of digital data communication such as a communication network.Examples of communication networks include, e.g., a LAN, a WAN, and thecomputers and networks forming the Internet.

The computer system may include clients and servers. A client and servermay generally be remote from each other and may typically interactthrough a network. The relationship of client and server may arise byvirtue of computer programs running on the respective computers andhaving a client-server relationship to each other.

One or more features or steps of the disclosed embodiments may beimplemented using an API. An API may define one or more parameters thatare passed between a calling application and other software code (e.g.,an operating system, library routine, function) that provides a service,that provides data, or that performs an operation or a computation.

The API may be implemented as one or more calls in program code thatsend or receive one or more parameters through a parameter list or otherstructure based on a call convention defined in an API specificationdocument. A parameter may be a constant, a key, a data structure, anobject, an object class, a variable, a data type, a pointer, an array, alist, or another call. API calls and parameters may be implemented inany programming language. The programming language may define thevocabulary and calling convention that a programmer will employ toaccess functions supporting the API.

In some implementations, an API call may report to an application thecapabilities of a device running the application, such as inputcapability, output capability, processing capability, power capability,communications capability, etc.

Definitions

The following terms may be useful for understanding the systems andmethods providing an actively adapted knowledge base, contentcalibration, and content recognition as described herein. FIGS. 3A and3B are graphical representations of definition terms illustrating theirrelationships to one another.

-   -   Knowledge Base—The underlying set of facts, assumptions, and        rules that a computer has available to solve a problem.    -   Knowledge Worker—A worker whose main capital is knowledge.    -   End User—A person ultimately uses or is intended to ultimately        use a product.    -   Account ID—Classification that identifies a collection of        templates (see Account ID 300 in FIGS. 3A-3B).    -   Template ID—Classification that identifies a collection of        content controls (see Template ID 302 in FIGS. 3A-3B).    -   Content Control ID—Classification that identifies a collection        of text variations. The content control may optionally be        assigned a numeric weighting that is the proportional        significance of the content control with respect to a template        amongst the population of content controls in that template (see        Content Control ID 304 in FIGS. 3A-3B).    -   Text Variant ID—Classification that identifies a specific text        phrase. The text variant may optionally be assigned a numeric        weighting that is the proportional significance of the text        variant with respect to that content control's numeric weighting        (see Text Variant ID 308 in FIGS. 3A-3B).    -   Text Variant Exclusion ID—Classification that identifies a text        phrase utilized for exclusions (see Text Variant Exclusion ID        314 in FIG. 3B).    -   Text Variant Exclusion Purpose—The text variant exclusion        purpose is, by default, the special index as related        proportionally to the source sentence. When nullification is        set, the entire content stream is void; otherwise only the        content control is void, and that content control's weight goes        to zero (see Text Variant Exclusion Purpose 316 in FIG. 3B).    -   Content Stream—A content-stream is a binary stream. Its maximum        length is repository-specific. Each content-stream has a MIME        Media Type, as defined by RFC2045 and RFC2046. A        content-stream's attributes are represented as properties of the        content-stream's containing document object. There is no        MIME-type-specific attribute or name directly associated with        the content-stream outside of the document object.    -   Content Control—Literal bound area within a content stream that        is a clause or data point.    -   Content Editable—Identifies whether the text variant only allows        prescribed language for free type (see Content Editable 312 in        FIG. 3A).    -   Template—Knowledge content stream.    -   Template Ranged Weightings—Each template contains bound ranges        that identify how a source content stream evaluates against the        knowledge base content controls' weighted accumulation. For        example, the boundaries may be red, amber, and green. In this        example, weighted content control accumulations greater than or        equal to the green value automatically pass, weighted content        control greater than or equal to the amber value and less than        the green value require manual evaluation, and weighted content        control below the amber value automatically fail.    -   Content Control Weighting—The weighting of the content control        when applied to the template amongst the population of the        template's other content controls (see Content Control Weight        306 in FIG. 3A).    -   Text Variant Weighting—The weighting of the text variant as a        ratio of the content control (see Text Variant Weight 310 in        FIG. 3A).    -   Normative Form—Template content stream and content control        collection of text variants that optionally specify clause        language.    -   Playbook—A collection of template normative forms.    -   Sequences—Identification of content sequence paths can be in two        forms; the first is the sequencing from the knowledge base, and        the second is the sequencing from the source content stream.    -   Knowledge Base Sequences—Texts variant with weighting.    -   Source Content Stream Sequences—The content stream.    -   Sequence Path—A numerical path to the identified source of        reference that can be determined by utilizing the following        description of graphical terms to determine sequence paths, for        example:    -   a. In FIG. 3A, the sequence path may be formed as a path        comprising account ID 300, template ID 302, content editable        312, content control ID 304, content control weight 306, text        variant ID 308, and text variant weight 310. Thus,        1,1,1,1,25,1,100 identifies “Supplier retains IP rights prior to        contract signing and any works during contracting period”    -   b. In FIG. 3B, the sequence path may be formed as a path        comprising account ID 300, template ID 302, content control ID        304, text variant ID 308, text variant exclusion ID 314, and        text variant purpose 316. Thus, 1,1,1,1,1,0 identifies “Not        Assigned”    -   Dice Coefficient—String comparison of spatial overlay index.    -   Clause—A sub content stream entity within a content stream that        is a specific identification such as termination, governance,        specification, or other sub content stream entity.    -   Data Point—Atomic content entity within a content stream that is        an element such as termination date, contract start date,        customer name, defendant name, or other atomic content entity.    -   Phrase Construction—A process involving selecting account,        template, and content control and entering a clause that results        in text variant ID.    -   Prescriptive Scoring—A scoring process that may proceed as        follows. For the content control, select the account, template,        and content control and then enter a decimal number for the        weighting. For the text variant, select the account, template,        content control, and text variant and then enter a decimal        number for the weighting.    -   Document Generation—A process involving selecting template and        free type clauses and data points or retrieve clauses from the        knowledge base which then results in a normative form document        being generated. For example, document generation from the        knowledge base may be performed by linking a web form or web        service (through which a user may interact) content control name        to a knowledge base content control name by template.    -   Phrase Selection—Upon selecting a template, a list of phrases is        presented from which the desired clause is selected. Phrase        selection may allow selection by listing content control's text        variants from knowledge base.    -   Exclusion—A process involving selecting account, template,        content control, and risk exclusions and entering undesirable        phrases. Exclusions may be text phrases that, when evaluated        against a content stream's content control, may either nullify        the entire content stream or content control within the content        stream by setting result to 0.    -   Coefficient Evaluation—A comparison of text variants' special        index against a source content stream. Coefficient evaluation        may occur during text variant match and text variant exclusion.        Coefficient evaluation may involve extracting each of the        content streams' content controls and retrieving each content        control's text variants and exclusions from knowledge base by        name and ID. Highest spatial index coefficient may be determined        from content control text amongst text variants and any spatial        index coefficient above 0 when exclusion is compared against        content control text.    -   Predictive Rating—The accumulation of content control and text        variant weightings calculated during source content stream        evaluation. For example, predictive rating may be performed by        accumulating the sum of all content controls' weightings times        the text variants' weightings rebalanced to 100%.    -   Feedback Loop—Control the behavior of a system by comparing its        output to a desired value and applying the difference as an        error signal to dynamically change the output so it is closer to        the desired output.    -   Content Recognition—A process whereby normative form template        content control text variants utilize spatial index and        frequency tampering for proper identification of source content        streams.    -   Content Calibration—A knowledge worker process whereby normative        form template content control text variants are added or changed        to evaluate ratio, frequency, and/or density of reference source        document streams.    -   Point of Interest—A focus point in a content stream. For        example, this could be a labeled area of a content stream such        as indemnity, jurisdiction, terms, or other labeling; and/or a        continuous steam of information that is not labeled. Either case        may spatially represent a concept that is a content control's        name.    -   Unit of Concentration—An embodiment of text that relates to        point of interest that is the name of a content control.    -   Text Phrase—A sentence, a series of sentences, and/or a series        of comma separated, colon separated, semi-colon separated,        parenthesis, and/or line break separated statements that may be        selected as a unit of concentration.    -   Related Frequency—A measure of the number of times that an event        occurs.    -   Contiguous Frequency—A distance between two or more frequencies        ordered by sequential identifier.    -   Cumulative Relative Frequency—A statistical calculation figured        by adding together previously tabulated relative frequencies        that makes a running total along a frequency table.    -   Combined Relative Related Frequency—Similar related frequencies        within a content stream that are separated by non-contiguous        source content sequence with a spatial index greater than or        equal to some percentage (e.g., 65%).    -   Knowledge Content Sequences—Individual sentence tokenization of        knowledge base content control text variants with each sentence        having its own unique and sequential identifier and collectively        representing a set of related information that may optionally        contain a weighting.    -   Source Content Sequence—A tokenization of the entire source        content stream by sentence, comma, and/or semicolon whereby each        token is represented by sequential numeric identifier.    -   Coverage threshold—A minimum coverage area of source        document/content for which a recognized normative form should        cover to be in compliance.    -   Nominal Threshold—Minimum string distance between source content        sequence and knowledge content sequence to recognize a valid        match between the two (e.g., 65.0).    -   Nominal Normative Form—Minimum threshold to determine valid        match (e.g., 2.5).        Actively Adapted Knowledge Base

The actively adapted knowledge base may provide on demand prescriptivecomposition of content controls for content evaluated by the system.Each content control may include a rating and one or more phraseselection variants. Each phrase selection variant may define a weightingindicating how that phrase weights against the content control. Eachcontent control may contain exclusion phrases. Each content control maycontain an editable flag that may specify whether free text entry isenabled. Each content control may define how that control weightsagainst a predictive rating that is the collective score of all contentcontrols. The predictive ratings may be compared against variablethreshold ranges that identify automatic acceptance, human evaluation,or automatic failure.

The content controls and predictive rating may utilize a template.Templates may be associated with one or more accounts. Each template maycontain variable content control subsets. Each template may beidentified by unique number. Each template may retrieve contentcontrols, scores, exclusions, and/or editable properties from an accountfor each named field that is matched in the template when that templateis uploaded to the knowledge base and stored independently for thattemplate in the knowledge base. A template may utilize the account'scollective scoring or may override that template's scoring. Each contentcontrol language variant within the template may remain without change,be changed, be removed, or have additional language variants added tothat content control, with properties for each variant capable of beingoverridden. The content controls' variants within each template, whenchanged for a specific template, may mark the property identifying thatcontent control as being overridden. When a content control variant hasnot been overridden, all content controls within all templates within anaccount may be updated from that account. The prescriptiverepresentation of the templates may be used to calculate score andpredict automatic acceptance, human evaluation, or failure of anycontent.

For example, content may be submitted and/or stored as described in U.S.Patent Publication No. 2014/0351686, entitled “Expert System forAutomation, Data Collection, Validation, and Managed Storage WithoutProgramming and Without Deployment,” the entirety of which isincorporated by reference herein. In U.S. Patent Publication No.2014/0351686, a computer system may receive a document template that hasbeen annotated with a markup language to contain one or more datatagging elements. The system may process the document template toautomatically generate a unique identifier for the document template andautomatically generate a unique identifier for each data tagging elementcontained in the document template. The system may automatically mapeach data tagging element onto a base structure within the templateprocessing engine, wherein the data tagging elements and mappingscollectively define a scheme for the document template. The system maysave the document template with mappings to the base structure to thestorage. The system may also receive client data, automatically validatethe client data using the unique identifiers to determine that theclient data corresponds to the document template, and automaticallygenerate a processed document using the client data and the documenttemplate.

Scoring and prediction may occur in real-time as content is received andextracted from that content's submission by first identifying the sourceof the content by template ID and retrieving the associated template IDwith content controls from the knowledge base. Each content control'sfield name from the submitted content may be matched against eachcontent control field name from the knowledge base template associatedto that template. A phrase may be extracted from the matched contentcontrol's field and evaluated against each phrase from the contentcontrol field retrieved from the knowledge base. If an exact match isfound, then the score from the variant may be proportionally calculatedagainst that weighting for that content control's score. If there is notan exact match, then the same phrase may be evaluated against eachlanguage variant to determine relative distance (e.g., using dicecoefficient). The match with the highest score by variant may apply thecoefficient's score against the content control's variant weighting asan average and may be proportionally distributed amongst that contentcontrol's weighting. The content control matching process may repeatuntil all content controls have been extracted from the submittedcontent. Upon match completion, the content control's matching scoresmay be accumulated and compared against the knowledge base template'sautomatic pass, human evaluation, and automatic failure scoring rangesto provide the predictive outcome of the evaluation.

FIG. 2 is a content evaluation and scoring process 200 according to anembodiment of the invention. Process 200 is an overview of contentevaluation and scoring, and specific aspects thereof are expanded uponin this section. Process 200 is presented from the perspective of aknowledge worker entering a template that has been created according tothe teachings of U.S. Patent Publication No. 2014/0351686 and/or an enduser evaluating the template.

In 202, the knowledge worker may enter content controls into the accountwith which the template is associated. In 204, the knowledge worker mayupload the template and/or additional templates having knowledge basesoverlapping with the content controls entered in 202.

In 206, the end user may select the uploaded template and may bepresented with a form. The end user may fill in the form. In 208, theend user may submit the selected template and form for evaluation, andsystem 100 may evaluate the form's content against the knowledge base ofthe template and generate a score for the form's content. The score mayprovide an indication of similarity and/or compliance between the form'scontent and the template's content controls. These processes aredescribed in greater detail below.

As described in U.S. Patent Publication No. 2014/0351686, a computer(e.g., system 100) may establish a database template of identifiedcontent controls for each template (e.g., DocX template) that is used asa foundation for web forms, web services, document generationconfigurations, or other type of template in support of businesssolutions.

The following processes may extend the capability of system 100 withknowledge base enhancements that may provide real time interaction withknowledge content streams being evaluated against source content streamssubmitted as described in U.S. Patent Publication No. 2014/0351686. Thefollowing processes may further extend the capability of system 100 byproviding a mechanism whereby system 100 may generate documents fromknowledge content streams. The capabilities of evaluating source contentstreams and generating documents from knowledge content streams may bothresult in predictive rating.

FIG. 4 is a knowledge base generation process 400 according to anembodiment of the invention. System 100 may perform process 400 toprepare a template for further processing as described below.

In 402, system 100 may receive a submitted template. For example, U.S.Patent Publication No. 2014/0351686 describes how a template may besubmitted. In 404, system 100 may extract content controls from thesubmitted template (e.g., based on elements identifying clauses or datapoints as tagged as described in U.S. Patent Publication No.2014/0351686).

In 406, system 100 may insert the extracted content controls into aknowledge base (e.g., within system 100 memory or storage) andidentified therein by template ID and/or content control name. In 408,system 100 may set each content control in the knowledge base to 0. In410, system 100 may store and/or reset each content control to have notext variants.

In 410, system 100 may add additional content controls, text variants,weightings, and/or exclusions not extracted from the submitted template.For example, the additional elements may be added by a knowledge workerthrough a user interface provided by system 100. Note that while step410 is illustrated in sequence in FIG. 4 , these additional elements maybe added to the knowledge base at any time.

In 412, system 100 may change content control weightings, text variants,text variant weightings, and/or exclusions. For example, the changes maybe specified by a knowledge worker through a user interface provided bysystem 100. Note that while step 412 is illustrated in sequence in FIG.4 , these changes may be made to the knowledge base at any time.

In 416, system 100 may set the template's ranged weightings to 0. In418, system 100 may set template activation to false. The settingsentered according to process 400 may be stored in system 100 memoryand/or storage, and the knowledge base may be ready for further use(e.g., according to the processes described below).

FIG. 5 is a knowledge acquisition process 500 according to an embodimentof the invention. System 100 may perform process 500 to acquire data andsettings for a knowledge base, for example a knowledge base preparedaccording to process 400 described above.

In 502, system 100 may receive a selection of a knowledge base forprocessing. For example, a knowledge worker may select a knowledge baseto modify through a user interface provided by system 100.

In 504, system 100 may receive text variants as needed to appropriatelydescribe variants available for each content control. In 506, system 100may receive content control weighting assignments above 0 for eachcontent control that will be used in predictive scoring as describedbelow. In 508, system 100 may receive text variant weighting assignmentsabove 0 for each received text variant. System 100 may save textvariants and weighting assignments for the knowledge base in system 100memory and/or storage. FIG. 6 shows an example interface 600 whereby theknowledge worker may enter the text variants and weighting assignments.

In 510, system 100 may receive exclusions for each content control. In512, system 100 may receive nullification settings for each contentcontrol. For example, system 100 may set nullification to true whencoefficient detection is greater than 0 and nullifies control and maynot set nullification when coefficient detection is greater than 0 andnullifies content stream. System 100 may save text exclusions andnullifications for the knowledge base in system 100 memory and/orstorage. FIG. 7 shows an example interface 700 whereby the knowledgeworker may enter exclusion and/or nullification settings.

In 514, system 100 may receive ranged weightings for the knowledge base.For an example with green, amber, and red ranges, system 100 may receivea green lower limit and an amber lower limit. The green lower limit mayestablish a limit for content streams that automatically pass withscores that are greater than or equal to the green lower limit. Theamber lower limit may identify the content stream as requiring humanevaluation when its score is greater than or equal to the amber lowerlimit and less than the green lower limit. Any other score may beconsidered red, causing the content stream to fail. System 100 may saveranged weightings for the knowledge base in system 100 memory and/orstorage.

In 516, system 100 may activate the knowledge base template when readyto use (e.g., when the aforementioned settings have been made). Forexample, system 100 may activate in response to a user command through auser interface.

FIG. 8 is a document generation process 800 according to an embodimentof the invention. System 100 may perform process 800 to generate adocument from a knowledge base template, for example a knowledge basetemplate prepared according to process 500 described above. For example,a user may submit a template ID into a user interface of system 100 toinitiate process 800.

In 802, system 100 may check the template ID to determine a templateknowledge base activation setting. If the setting indicates the templateknowledge base is active, in 804, system 100 may retrieve the templatenormative form and collection of content control text variants from theknowledge base. If the setting indicates the template knowledge base isnot active, in 818, system 100 may set the normative form contentcontrols for the template with default clauses for each text variant andgo to step 820 described below.

In 806, system 100 may locate a highest text variant weighting for eachcontent control from the knowledge base. In 808, system 100 may selecteach text variant's clause and insert the selected clause into thematching template's normative form content control.

In 810, system 100 may determine whether content control has been set aseditable. If so, in 812, system 100 may configure content for free textentry. If not, in 814, system 100 may configure content to only allowentry from text variants defined for that content control from theknowledge base. In 816, system 100 may associate a text variant list foreach content control as alternative selections.

In 820, system 100 may generate the document according to the settingsestablished throughout process 800. If system 100 received template IDsubmission from a web service, system 100 may generate the document withnormative form content stream and applied text variants from contentcontrols. If system 100 received template ID submission from a web form,system 100 may generate the document through the web form with contentcontrols on the web page populated with applied text variants. FIG. 9shows an example web form 900, and FIG. 10 shows an example with contentcontrols populated with knowledge base information 1000. Text variantlists may be associated with each content control, and content controlmay be available for free text entry when content control is editable.An end user may choose to change the initially applied content control'stext by selecting from the text variant list. The end user may choose toenter free text when content control is editable.

FIG. 11 is a predictive scoring process 1100 according to an embodimentof the invention. System 100 may perform process 1100 to score adocument, for example a document prepared according to process 800described above. System 100 may perform process 1100 automatically, forexample when a document is created or modified, in some embodiments.System 100 may perform process 1100 in response to user request enteredthrough a user interface in some embodiments.

In 1102, system 100 may check to determine whether the template'sknowledge base activation is set to true. If so, process 1100 mayproceed. If not, process 1100 may be abandoned for this document.

In 1104, system 100 may extract content controls from the document'scontent stream and store text phrase by content control's name. In 1106,system 100 may extract content controls' text variants from theknowledge base by template ID utilized to construct content stream.

In 1108, system 100 may compare each text phrase to each text variant bycontent control name to gather phrase results. In 1110, system 100 maydetermine the phrase results and record content control names withassociated phrase results. For example, system 100 may get a highestcoefficient from a string compare amongst content control's textvariants, multiply the coefficient by a text variant's weighting withhighest coefficient score, and multiply the outcome by the contentcontrol's weighting to obtain the phrase result.

In 1112, system 100 may compare each text phrase to each contentcontrol's exclusion to adjust phrase results. For example, in 1114,system 100 may locate the content control's exclusion for each phraseresult. In 1116, system 100 may utilize a coefficient to compare eachtext phrase to each exclusion. In 1118, system 100 may determine whethercoefficient outcome is greater than 0, If so, in 1120, system 100 mayretrieve nullification rule for content control and, in 1122, set justthat content control's phrase result to 0. If not, in 1124, system 100may set the entire set of phrase results to 0.

In 1126, system 100 may accumulate all content controls' weightings forthe template and store them as a rebalancing total. In 1128, for eachcontent control, if the content control's weighting is greater than 0,system 100 may divide the content control's phrase result by therebalancing total and add the result to a template accumulated score.

In 1130, system 100 may compare the template accumulated score againstthe template's ranged weightings. For example, system 100 may determinea green, amber, or red outcome for the document, as described above.FIG. 12 shows an example outcome 1200. Here, the document has a greenoutcome.

Content Calibration and Recognition

This section describes systems and methods for calibrating text streamson demand to recognize a stream uniquely amongst a bound population ofknowledge base configurations. For example, the stream may be recognizedas a configuration uniquely identified by a template ID by contentcontrol density, content control ratio, and/or contiguous contentcontrol text variance frequency.

FIG. 13 is a content calibration and recognition process 1300 accordingto an embodiment of the invention. Process 1300 is an overview ofcontent calibration and recognition, and specific aspects thereof areexpanded upon in this section. Process 1300 is presented from theperspective of a knowledge worker evaluating a template that has beencreated according to the teachings of U.S. Patent Publication No.2014/0351686 and/or the actively adapted knowledge base processingdescribed above.

In 1302, the knowledge worker may enter content controls into theaccount with which the template is associated. In 1304, the knowledgeworker may upload the template and/or additional templates havingknowledge bases overlapping with the content controls entered in 1302.

In 1306, system 100 may retrieve knowledge content for the account andprocess the template and knowledge content to recognize and score thedata therein. These processes are described in greater detail below.

System 100 may be able to perform content calibration, recognition,and/or scoring when knowledge content sequences are described in one ormore text variants, grouped by content control, and sequenced to specifyphrase identification. System 100 may perform content calibration astext phrases are entered into content control text variants within theknowledge base. System 100 may perform content recognition occurs bycomparing source content streams, utilizing a recognition algorithm,against knowledge content by adding or removing content controls andadding, removing, or changing text variants and text phrases withincontent controls that are within a knowledge base normative form until adesired match and coverage score are found. System 100 may performcontent scoring by executing the scoring algorithm against a sourcecontent stream when weightings have been recorded for the contentcontrols and text variants in the normative form's knowledge base.

System 100 may recognize and evaluate content. Knowledge base contentmay include a corpus of normative form content control text variants. Acontent control may provide a named identifier of a collection of textphrases within a normative form that contains zero to many variations oftext phrases with optional weightings that identify the content controlsignificance amongst the population of other content controls for anormative form. Each text variant may provide an identifier within acontent control that may optionally be weighted with respect to a textvariant's significance amongst the relationship of other text variantswithin a content control.

In the examples that follow, content that exactly matches a normativeform may have a text variant weighting of 100%. As the match precisionof the content decreases, the text variant weighting may also decrease.

The following is a first example non-disclosure agreement that may beevaluated by system 100:

Knowledge Content Normative Form Name: “Non Disclosure Agreement” ID: 1

-   -   Content Control Name: “Termination” Weighting: 20% ID: 1        -   Text Variant Weighting: 100% ID: 1    -   This Agreement will commence on the Commencement Date and will        remain in effect notwithstanding completion, fulfilment or early        termination of the Purpose for a period of five years from the        Commencement Date, save that Confidential Information about the        Company's customers shall be kept confidential by the Recipient        and Representatives indefinitely. Either Party may terminate        this Agreement on 10 Days written notice to the other party. The        obligations of this Agreement in relation to the Confidential        Information will remain in force post termination.

The following is a second example non-disclosure agreement that may beevaluated by system 100 with some variations from the first example:

-   -   Text Variant Weighting: 80% ID: 2    -   This Agreement will commence on the Commencement Date and will        remain in effect notwithstanding completion, fulfilment or early        termination of the Purpose for a period of five years from the        Commencement Date, save that Confidential Information about the        Company's customers shall be kept confidential by the Recipient        and Representatives indefinitely. Either Party may terminate        this Agreement on 30 Days written notice to the other party. The        obligations of this Agreement in relation to the Confidential        Information will remain in force post termination.

The following is a third example non-disclosure agreement that may beevaluated by system 100 with more variations from the first example:

-   -   Text Variant Weighting: 0% ID: 3    -   There are no obligations for this agreement post termination.        This agreement may be terminated by the receiving party at any        time with 10 days written notice.

The following is a first example amendment agreement that may beevaluated by system 100:

-   -   Content Control Name: “AmendmentandVariation” Weighting: 20% ID:        2        -   Text Variant Weighting: 100% ID: 4    -   No amendment or variation of this Agreement shall be effective        unless it is in writing and signed by each of the Parties (or        their authorized Representatives).

The following is a second example amendment agreement that may beevaluated by system 100 with variations from the first example:

-   -   Text Variant Weighting: 0% ID: 5    -   No party may amend this Agreement. Any such attempts must be        done in a separate agreement supported by unique consideration.

The following is a first example unauthorized disclosure agreement thatmay be evaluated by system 100:

-   -   Content Control Name: “Unauthorized Disclosure” Weighting: 20%        ID: 3        -   Text Variant Weighting: 100% ID: 6    -   If the Recipient becomes aware that there has been unauthorized        disclosure, copying or transfer of Confidential Information the        Recipient will immediately inform the Disclosing Party and the        Recipient will put procedures in place to prevent further        unauthorized disclosure, copying or transfer of Confidential        Information.

The following is a second example unauthorized disclosure agreement thatmay be evaluated by system 100 with variations from the first example:

-   -   Text Variant Weighting: 0% ID: 7    -   Whether recipient is aware on unaware this no such violation for        unauthorized disclosure, copying or transfer of Confidential        Information the Recipient will immediately inform the Disclosing        Party and the Recipient will put procedures in place to prevent        further unauthorized disclosure, copying or transfer of        Confidential Information.

See also FIG. 15 for a user interface 1500 wherein knowledge contentsuch as the above may be provided to system 100 by a user.

System 100 may sequence knowledge content, such as the exampleagreements presented above, according to the following formula. All textphrases may be grouped into numerically identifiable sequences byaccount ID, normative form (template ID), content control ID, contentcontrol editable, content control weight, text variant ID, text variantweight, and text phrase.

Using the ID values of the agreement examples provided above, thefollowing:

-   -   This Agreement will commence on the Commencement Date and will        remain in effect notwithstanding completion, fulfilment or early        termination of the Purpose for a period of five years from the        Commencement Date, save that Confidential Information about the        Company's customers shall be kept confidential by the Recipient        and Representatives indefinitely. Either Party may terminate        this Agreement on 10 Days written notice to the other party. The        obligations of this Agreement in relation to the Confidential        Information will remain in force post termination.

may be encoded as follows:

1,1,1,1,25,1,100,1 This agreement will commence on the commencement dateand will remain in effect notwithstanding completion

1,1,1,1,25,1,100,2 fulfilment or early termination of the purpose for aperiod of five years from the commencement date

1,1,1,1,25,1,100,3 save that confidential information about thecompany's customers shall be kept confidential by the recipient andrepresentatives indefinitely

1,1,1,1,25,1,100,4 either party may terminate this agreement on 10 dayswritten notice to the other party

1,1,1,1,25,1,100,5 the obligations of this agreement in relation to theconfidential information will remain in force post termination

The following is an example of sequencing content by sentence or clause:

Example Content

-   -   This Agreement may be executed in one or more counterparts, each        of which shall be an original and all of which together shall        constitute one instrument. This Agreement shall bind and inure        to the benefit of the parties hereto and their successors and        assigns. This agreement shall be governed and construed in        accordance with the laws of the State of Euphoria, Dimsia;        applicable therein without reference to rules governing choice        of laws. If any action or proceeding arising out of or related        to this Agreement is brought by either party; the parties hereto        consent to the exclusive jurisdiction and venue in the courts        located in the city of Dimsia, State of Euphoria. This document        contains the entire agreement between the parties with respect        to the subject matter hereof, and neither party shall have any        obligation, express or implied by law, with respect to trade        secret or proprietary information of the other party except as        set forth herein. Any failure to enforce any provision of this        Agreement shall not constitute a waiver thereof or of any other        provision. This Agreement may not be amended, nor any obligation        waived, except by a writing signed by both parties hereto.

Sequenced Content:

-   -   1 This Agreement may be executed in one or more counterparts    -   2 each of which shall be an original and all of which together        shall constitute one instrument    -   3 This Agreement shall bind and inure to the benefit of the        parties hereto and their successors and assigns    -   4 This agreement shall be governed and construed in accordance        with the laws of the State of Euphoria    -   5 Dimsia    -   6 applicable therein without reference to rules governing choice        of laws    -   7 If any action or proceeding arising out of or related to this        Agreement is brought by either party    -   8 the parties hereto consent to the exclusive jurisdiction and        venue in the courts located in the city of Dimsia    -   9 State of Euphoria    -   10 This document contains the entire agreement between the        parties with respect to the subject matter hereof    -   11 and neither party shall have any obligation    -   12 express or implied by law    -   13 with respect to trade secret or proprietary information of        the other party except as set forth herein    -   14 Any failure to enforce any provision of this Agreement shall        not constitute a waiver thereof or of any other provision    -   15 This Agreement may not be amended    -   16 nor any obligation waived    -   17 except by a writing signed by both parties hereto

FIGS. 14A-14C show a recognition process 1400 according to an embodimentof the invention. System 100 may perform process 1400 to recognize andevaluate content. In process 1400, each normative form for an identifiedaccount may be retrieved for comparison. The highest text-variant matchalgorithm may be applied to each text variant of each content control ofnormative form. The normative form match algorithm may be applied todetermine relevant normative form. Process 1400 may be performed inresponse to user command. For example, FIG. 16 shows an example userinterface 1600 whereby a user may select a knowledge base for a documentto be analyzed and a coverage threshold (e.g., defining what level ofmatching constitutes a match), and FIG. 17 shows an example userinterface 1700 whereby the user may execute the recognition process forthe selected data and receive results (e.g., scoring and coverageresults). Once initiated, process 1400 may proceed as follows in someembodiments.

In 1402-1458, system 100 may process a highest text-variant algorithm.For example, system 100 may compare knowledge content sequences derivedfrom the normative form (e.g. 1,1,1,1,25,1,100,1) to source contentsequences using string distance (dice coefficient) to produce acoefficient for each sequence. A coefficient greater than a nominalthreshold (e.g., 65%) may be regarded as a matched sequence. This mayproceed as follows. In 1402, system 100 may retrieve a first contentcontrol. In 1404, system 100 may obtain normative form content controlfrom the retrieved content control. In 1406, system 100 may retrieve afirst text variant from the normative form content control. In 1408,system 100 may retrieve a first knowledge content sequence. In 1410,system 100 may retrieve a first source content sequence and, in 1412,system 100 may calculate a string distance between the knowledge contentsequence and the string content sequence.

In 1416, system 100 may set matched sequence string distance multipliedwith knowledge content phrase (e.g., 1,1,1,1,25,1,100,1—ConfidentialInformation does not apply to any information that—63) length to densityfor each knowledge content sequence for each knowledge content, contentcontrol, and text variant combination. In 1418, system 100 may recorddensities and respective sequential numeric identifiers for eachknowledge content, content control, and text variant combination.

In 1420, system 100 may determine whether there are any more sourcecontent sequences to evaluate and, if so, repeat steps 1410-1418 foreach remaining source content sequence. In 1422, system 100 maydetermine whether there are any more knowledge content sequences toevaluate and, if so, repeat steps 1408-1420 for each remaining knowledgecontent sequence.

In 1424, system 100 may calculate a number of hits as a count of uniquesource content sequences per text variant. For example, system 100 mayrecord a unique count of sequential numeric identifiers recorded foreach knowledge content, content control, and text variant combinationand set it to hits for each knowledge content, content control, and textvariant combination. System 100 may record accumulated values ofdensities of matched knowledge content sequences for each knowledgecontent, content control, and text variant combination. In 1426, system100 may determine hit text variant density as a sum of knowledge contentsequence densities.

In 1428, system 100 may determine whether there are any more textvariants to evaluate and, if so, repeat steps 1406-1426 for eachremaining text variant. In 1430, system 100 may determine whether thereare any more content controls to evaluate and, if so, repeat steps1402-1428 for each content control.

In 1432, system 100 may retrieve unique source content sequence numericidentifiers for all text variants that have been evaluated. In 1434,system 100 may record a unique count of sequential numeric identifiersrecorded for all knowledge content, content control, and text variantcombinations and set it to total hits.

In 1436, system 100 may retrieve a first content control. In 1438,system 100 may obtain normative form content control from the retrievedcontent control. In 1440, system 100 may retrieve a first text variantfrom the normative form content control. In 1442, system 100 maycalculate a hit ratio for the retrieved information. For example, system100 may set hits divided by total hits to hit ratio.

In 1446, system 100 may determine whether there are any more textvariants to evaluate and, if so, repeat steps 1440-1444 for eachremaining text variant. In 1448, system 100 may determine whether thereare any more content controls to evaluate and, if so, repeat steps1436-1446 for each content control.

When all text variants and content controls have been evaluated, system100 may establish a best text variant for each content control. In 1450,system 100 may retrieve a content control for evaluation. In 1452,system 100 may evaluate the normative form content control against thetext variants for the content control for a best match using acombination of text variant density and hit ratio. In 1452, system 100may set the text variant with the highest value of text variant densitymultiplied by hit ratio as the best text variant. In 1454, system 100may save the best text variant and discard other text variants. In 1458,system 100 may determine whether there are any more content controls forwhich best text variants are to be found and, if so, repeat steps1450-1456 for each remaining content control. Accordingly, this portionof process 1400 may identify a text variant from knowledge base contentwith highest resulting match per content control.

In 1460-1508, system 100 may apply a normative form match algorithm andcontiguous frequency algorithm to determine whether entered data is anormative form and, if so, how closely it matches knowledge base data.

In 1460, system 100 may get sequential numeric identifiers across allnormative forms' text variants of respective content controls andidentify source content sequences (e.g., 3, 8, 12, 16). System 100 mayaccumulate identified source content sequences' length (e.g., 265) andset the length to total matched content length.

In 1462, system 100 may look up the normative form to be analyzed, andin 1464, system 100 may retrieve the normative form. In 1468, system 100may set the total density of a text variant for all content controls(e.g., total density may be set to the sum of all text variant densitiestimes hit ratios). In 1470, system 100 may set normative form contentcontrols as a count of content controls. In 1472, system 100 may setnormative form matched content controls as a count of content controlshaving positive hit ratios. In 1474, system 100 may set content controlsmatched as the normative form matched content controls value divided bythe normative form content controls value. In 1476, system 100 may setarea ratio as a sum of the length of matched source content sequences ofa text variant multiplied by a sum of the length of all source contentsequences. For example, for each normative form, unique sequentialnumeric identifiers (e.g., 3, 8, 12, 16) from all text variants ofrespective content controls may yield source content sequences' length(total length of 3, 8, 12, 16 sequences=265). Accumulated identifiedsource content sequences' length (e.g. 265) divided by accumulatedlength (1191) of all source content sequences may yield area ratio (e.g.265/719=0.3688). In 1478, system 100 may set content control matchedratio as a sum of the length of matched source content sequences of atext variant (e.g., 265) divided by total matched content length.Content control match ratio may serve as cumulative relative frequency.

System 100 may next apply the contiguous frequency algorithm. Sequentialnumeric identifiers may be recorded for knowledge content/contentcontrol/text variant combinations to calculate contiguous frequency,where contiguous frequency is a cumulative distance between sequentialnumeric identifiers recorded for knowledge content/content control/textvariant. The algorithm may proceed as follows in 1480-1496.

In 1480, system 100 may retrieve matched source content sequence numericidentifiers for text variants for all content controls. In 1482, system100 may arranged the matched source content sequence numeric identifiersin ascending order (e.g. 2,5,7,16). In 1484, system 100 may retrieve thefirst numeric identifier. In 1486, system 100 may set the spread to zerofor the first numeric identifier. In 1488, system 100 may retrieve thenext numeric identifier. In 1490, system 100 may set the spread to thecurrent spread (i.e., 0) plus the result of adding 1 to current numberto establish a product and subtracting subsequent number from theproduct. System 100 may record the result. In 1492, system 100 maydetermine whether another numeric identifier is available in thesequence. If so, in 1494, system 100 may advance to the next numericidentifier and repeat the processing of steps 1488-1492. System 100 maycontinue doing this operation until left with last number in thesequence. At this point, in 1496, system 100 may add all the recordedresults and add 1 at the end. For example:

(5 − (2 + 1)) → 2(7 − (5 + 1)) → 1(16 − (7 + 1)) → 8EndResult → (2 + 1 + 8) + 1 = 12

System 100 may return the end result and, in 1498, system 100 maydetermine whether there is another normative form available forprocessing. If so, system 100 may repeat steps 1462-1496 for the nextnormative form. The final end result may serve as a total spread.

In 1500, system 100 may determine the relevant normative form. Forexample, system 100 may determine value of (total density/totalspread)*content control match ratio*content control ratio for eachnormative forms as relevant normative forms. In 1502, system 100 may setthe maximum relevant normative form value as the best normative form. In1504, system 100 may discard other, lower relevant normative forms. In1506, system 100 may determine whether this number is less than nominalnormative form, and if area ratio is less than coverage threshold limitprovided. If so, in 1508, system 100 may determine source content asambiguous, and it may not be aligned with any normative form. If anormative form is not recognized, system 100 may calibrate knowledgebase content to increase probability of matching (e.g., by making thecontent available for manual review by a knowledge worker, who maythereafter modify the knowledge base). However, if the number is greaterthan nominal normative form and the area ratio is greater than thecoverage threshold limit, in 1510, system 100 may declare a matchednormative form. The results of this processing may be provided by a userinterface (e.g., interface 1700 of FIG. 17 ) as noted above.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example and notlimitation. It will be apparent to persons skilled in the relevantart(s) that various changes in form and detail can be made thereinwithout departing from the spirit and scope. In fact, after reading theabove description, it will be apparent to one skilled in the relevantart(s) how to implement alternative embodiments.

In addition, it should be understood that any figures which highlightthe functionality and advantages are presented for example purposesonly. The disclosed methodology and system are each sufficientlyflexible and configurable such that they may be utilized in ways otherthan that shown.

Although the term “at least one” may often be used in the specification,claims and drawings, the terms “a”, “an”, “the”, “said”, etc. alsosignify “at least one” or “the at least one” in the specification,claims and drawings.

Finally, it is the applicant's intent that only claims that include theexpress language “means for” or “step for” be interpreted under 35U.S.C. 112(f). Claims that do not expressly include the phrase “meansfor” or “step for” are not to be interpreted under 35 U.S.C. 112(f).

What is claimed is:
 1. A method for automatic document generationcomprising: receiving, by a processor, client data; automaticallydetermining, by the processor, whether the client data is compliant withat least one content control standard, the determining including:comparing, by the processor, text content of the client data with atleast one text content word or phrase included within a text variant todetermine a degree of variation indicating a percentage of text thatdiffers between the text content of the client data and the at least onetext content word or phrase included within the text variant,determining, by the processor, at least one weighting of the at leastone text content word or phrase included within the text variant,generating, by the processor, a rebalancing total for the client datausing the degree of variation and the at least one weighting, anddetermining, by the processor, that the client data is compliant withthe at least one content control standard when the rebalancing total isequal to or greater than a threshold level; and in response todetermining the client data is compliant with the at least one contentcontrol standard, automatically generating, by the processor, aprocessed document using the client data and a document template, andstoring, by the processor, the processed document to a storage medium.2. The method of claim 1, wherein automatically determining whether theclient data is compliant with the text variant for the at least onecontent control standard comprises determining whether the client datais nullified by at least one nullification rule.
 3. The method of claim1, further comprising automatically validating, by the processor, theclient data using unique identifiers of a document template to determinethat the client data corresponds to the document template, the documenttemplate comprising at least one data tagging element mapped from atleast one annotated document onto a base structure.
 4. The method ofclaim 3, wherein: the data tagging elements and the mappingscollectively define a scheme for the document template, the uniqueidentifiers comprise a unique identifier for the document template and aunique identifier for each data tagging element contained in thedocument template, and at least one content control for the at least onedata tagging element comprises a text variant.
 5. The method of claim 4,wherein the at least one content control comprises the at least oneweighting for the text variant.
 6. The method of claim 5, wherein eachat least one weighting defines a score for client data corresponding tothe text variant.
 7. The method of claim 6, wherein the determiningwhether the client data is compliant with the at least one contentcontrol standard comprises adding the scores for the client datacorresponding to the text variant to generate the rebalancing total. 8.The method of claim 7, wherein the client data is compliant with the atleast one content control standard when the rebalancing total is equalto or greater than a first threshold value.
 9. A method for automaticcontent recognition, the method comprising: receiving, by a processor,client data; automatically comparing, by the processor, the client datawith normative form content for a document template, the normative formcontent including at least one text content word or phrase, thecomparing including: determining, by the processor, a degree ofvariation indicating a percentage of text that differs between textcontent of the client data and the at least one text content word orphrase included within the normative form content, determining, by theprocessor, at least one weighting of the at least one text content wordor phrase included within the normative form content, and generating, bythe processor, a rebalancing total for the client data using the degreeof variation and the at least one weighting; automatically recognizing,by the processor, that the client data corresponds to the documenttemplate based on the comparing indicating that the rebalancing total isequal to or greater than a threshold level; automatically generating, bythe processor, a processed document using the client data and thedocument template, and storing, by the processor, the processed documentto a storage medium.
 10. The method of claim 9, further comprisingautomatically determining, by the processor, a similarity between theclient data and the document template based on the comparing.
 11. Themethod of claim 9, further comprising encoding, by the processor, thenormative form content, the encoding comprising grouping at least onetext phrase in the normative form content into at least one numericallyidentifiable sequence.
 12. The method of claim 11, wherein automaticallycomparing the client data with the normative form content comprises:encoding, by the processor, the client data, the encoding comprisinggrouping at least one text phrase in the client data into at least onenumerically identifiable client data sequence; and comparing, by theprocessor, the at least one numerically identifiable sequence with theat least one numerically identifiable client data sequence.
 13. Themethod of claim 9, wherein: the document template comprises a schemedefined by at least one data tagging element and at least one mapping ofthe at least one data tagging element from at least one annotateddocument onto a base structure, and at least one normative form for thedocument template comprises the normative form content includingnormative form content for each data tagging element.
 14. The method ofclaim 13, further comprising automatically determining, by theprocessor, a similarity between the client data and the documenttemplate based on the comparing, wherein: the document templatecomprises at least one content control corresponding to each datatagging element, the at least one content control comprising at leastone text variant for the at least one content control; and automaticallydetermining the similarity comprises: determining a best text variantfor each content control; and determining a match score describing asimilarity between at least a portion of the client data and the besttext variant.
 15. The method of claim 14, wherein determining the matchscore comprises determining a string distance between the portion of theclient data and the best text variant.
 16. The method of claim 14,wherein determining the match score comprises determining a cumulativerelative frequency for the portion of the client data.